package InterfaceTest;
/*
接口
    1.接口也是一种引用数据类型
    2.接口是完全抽象的。接口是特殊的抽象类
    3.接口定义 语法
        [修饰符列表] interface 接口名{}
    4.接口支持多继承
    5.接口中只包含两部分内容，一部分是常量，一部分是抽象方法
    6.接口中的常量可以省略修饰符列表
    7.接口中所有的元素都是公开的
 */
public class InterfaceTest1 {
    public static void main(String[] args) {
        MyMath m = new MyMathImpl(); //多态
        System.out.println( m.sub(12.5,12.3));
    }
}
interface A{

}
interface B{

}
interface C extends A,B{

}
interface MyMath{
    public static final double PI = 3.149265;
    public abstract int sum(int a,int b); //public abstract 可以省略
    double sub(double a,double b);
}
//编写一个类去实现接口 (实现可以看作是继承)，implements关键字实现
//子类需要去实现接口方法（重写）
class  MyMathImpl implements MyMath{

    public int sum(int a,int b){
        return a+b;
    }

    public double sub(double a,double b){
        return a-b;
    }
}